package com.iflytek.sbd.swagger.model;

import java.util.List;
import java.util.Objects;

/**
 * @program: myes
 * @description:
 * @author: 陈英俊
 * @create: 2021-09-10 10:38
 */
public class Table {
    private String title;
    private String tag;
    private String url;
    private String description;
    private String requestForm;
    private String responseForm;
    private String requestType;
    private List<Request> requestList;
    private List<Response> responseList;
    private String requestParam;
    private String responseParam;
    private ModelAttr modelAttr = new ModelAttr();

    public Table() {
    }

    public String getTitle() {
        return this.title;
    }

    public String getTag() {
        return this.tag;
    }

    public String getUrl() {
        return this.url;
    }

    public String getDescription() {
        return this.description;
    }

    public String getRequestForm() {
        return this.requestForm;
    }

    public String getResponseForm() {
        return this.responseForm;
    }

    public String getRequestType() {
        return this.requestType;
    }

    public List<Request> getRequestList() {
        return this.requestList;
    }

    public List<Response> getResponseList() {
        return this.responseList;
    }

    public String getRequestParam() {
        return this.requestParam;
    }

    public String getResponseParam() {
        return this.responseParam;
    }

    public ModelAttr getModelAttr() {
        return this.modelAttr;
    }

    public void setTitle(final String title) {
        this.title = title;
    }

    public void setTag(final String tag) {
        this.tag = tag;
    }

    public void setUrl(final String url) {
        this.url = url;
    }

    public void setDescription(final String description) {
        this.description = description;
    }

    public void setRequestForm(final String requestForm) {
        this.requestForm = requestForm;
    }

    public void setResponseForm(final String responseForm) {
        this.responseForm = responseForm;
    }

    public void setRequestType(final String requestType) {
        this.requestType = requestType;
    }

    public void setRequestList(final List<Request> requestList) {
        this.requestList = requestList;
    }

    public void setResponseList(final List<Response> responseList) {
        this.responseList = responseList;
    }

    public void setRequestParam(final String requestParam) {
        this.requestParam = requestParam;
    }

    public void setResponseParam(final String responseParam) {
        this.responseParam = responseParam;
    }

    public void setModelAttr(final ModelAttr modelAttr) {
        this.modelAttr = modelAttr;
    }

    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof Table)) {
            return false;
        } else {
            Table other = (Table)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                label155: {
                    Object this$title = this.getTitle();
                    Object other$title = other.getTitle();
                    if (this$title == null) {
                        if (other$title == null) {
                            break label155;
                        }
                    } else if (this$title.equals(other$title)) {
                        break label155;
                    }

                    return false;
                }

                Object this$tag = this.getTag();
                Object other$tag = other.getTag();
                if (this$tag == null) {
                    if (other$tag != null) {
                        return false;
                    }
                } else if (!this$tag.equals(other$tag)) {
                    return false;
                }

                Object this$url = this.getUrl();
                Object other$url = other.getUrl();
                if (this$url == null) {
                    if (other$url != null) {
                        return false;
                    }
                } else if (!this$url.equals(other$url)) {
                    return false;
                }

                label134: {
                    Object this$description = this.getDescription();
                    Object other$description = other.getDescription();
                    if (this$description == null) {
                        if (other$description == null) {
                            break label134;
                        }
                    } else if (this$description.equals(other$description)) {
                        break label134;
                    }

                    return false;
                }

                label127: {
                    Object this$requestForm = this.getRequestForm();
                    Object other$requestForm = other.getRequestForm();
                    if (this$requestForm == null) {
                        if (other$requestForm == null) {
                            break label127;
                        }
                    } else if (this$requestForm.equals(other$requestForm)) {
                        break label127;
                    }

                    return false;
                }

                label120: {
                    Object this$responseForm = this.getResponseForm();
                    Object other$responseForm = other.getResponseForm();
                    if (this$responseForm == null) {
                        if (other$responseForm == null) {
                            break label120;
                        }
                    } else if (this$responseForm.equals(other$responseForm)) {
                        break label120;
                    }

                    return false;
                }

                Object this$requestType = this.getRequestType();
                Object other$requestType = other.getRequestType();
                if (this$requestType == null) {
                    if (other$requestType != null) {
                        return false;
                    }
                } else if (!this$requestType.equals(other$requestType)) {
                    return false;
                }

                label106: {
                    Object this$requestList = this.getRequestList();
                    Object other$requestList = other.getRequestList();
                    if (this$requestList == null) {
                        if (other$requestList == null) {
                            break label106;
                        }
                    } else if (this$requestList.equals(other$requestList)) {
                        break label106;
                    }

                    return false;
                }

                Object this$responseList = this.getResponseList();
                Object other$responseList = other.getResponseList();
                if (this$responseList == null) {
                    if (other$responseList != null) {
                        return false;
                    }
                } else if (!this$responseList.equals(other$responseList)) {
                    return false;
                }

                label92: {
                    Object this$requestParam = this.getRequestParam();
                    Object other$requestParam = other.getRequestParam();
                    if (this$requestParam == null) {
                        if (other$requestParam == null) {
                            break label92;
                        }
                    } else if (this$requestParam.equals(other$requestParam)) {
                        break label92;
                    }

                    return false;
                }

                Object this$responseParam = this.getResponseParam();
                Object other$responseParam = other.getResponseParam();
                if (this$responseParam == null) {
                    if (other$responseParam != null) {
                        return false;
                    }
                } else if (!this$responseParam.equals(other$responseParam)) {
                    return false;
                }

                Object this$modelAttr = this.getModelAttr();
                Object other$modelAttr = other.getModelAttr();
                if (this$modelAttr == null) {
                    return other$modelAttr == null;
                } else return this$modelAttr.equals(other$modelAttr);
            }
        }
    }

    protected boolean canEqual(final Object other) {
        return other instanceof Table;
    }

//    public int hashCode() {
//        int PRIME = true;
//        int result = 1;
//        Object $title = this.getTitle();
//        int result = result * 59 + ($title == null ? 43 : $title.hashCode());
//        Object $tag = this.getTag();
//        result = result * 59 + ($tag == null ? 43 : $tag.hashCode());
//        Object $url = this.getUrl();
//        result = result * 59 + ($url == null ? 43 : $url.hashCode());
//        Object $description = this.getDescription();
//        result = result * 59 + ($description == null ? 43 : $description.hashCode());
//        Object $requestForm = this.getRequestForm();
//        result = result * 59 + ($requestForm == null ? 43 : $requestForm.hashCode());
//        Object $responseForm = this.getResponseForm();
//        result = result * 59 + ($responseForm == null ? 43 : $responseForm.hashCode());
//        Object $requestType = this.getRequestType();
//        result = result * 59 + ($requestType == null ? 43 : $requestType.hashCode());
//        Object $requestList = this.getRequestList();
//        result = result * 59 + ($requestList == null ? 43 : $requestList.hashCode());
//        Object $responseList = this.getResponseList();
//        result = result * 59 + ($responseList == null ? 43 : $responseList.hashCode());
//        Object $requestParam = this.getRequestParam();
//        result = result * 59 + ($requestParam == null ? 43 : $requestParam.hashCode());
//        Object $responseParam = this.getResponseParam();
//        result = result * 59 + ($responseParam == null ? 43 : $responseParam.hashCode());
//        Object $modelAttr = this.getModelAttr();
//        result = result * 59 + ($modelAttr == null ? 43 : $modelAttr.hashCode());
//        return result;
//    }


    @Override
    public int hashCode() {
        return Objects.hash(title, tag, url, description, requestForm, responseForm, requestType, requestList, responseList, requestParam, responseParam, modelAttr);
    }

    public String toString() {
        return "Table(title=" + this.getTitle() + ", tag=" + this.getTag() + ", url=" + this.getUrl() + ", description=" + this.getDescription() + ", requestForm=" + this.getRequestForm() + ", responseForm=" + this.getResponseForm() + ", requestType=" + this.getRequestType() + ", requestList=" + this.getRequestList() + ", responseList=" + this.getResponseList() + ", requestParam=" + this.getRequestParam() + ", responseParam=" + this.getResponseParam() + ", modelAttr=" + this.getModelAttr() + ")";
    }
}
